package org.laot.searchManage.entry;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 数据源申请单
 * @author laoT
 * @date 2024/1/24
 * @TableName datasource_application
 */
@Data
@ApiModel("数据源申请单")
@EqualsAndHashCode
@TableName(value ="datasource_application")
public class DatasourceApplication implements Serializable {

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 标题名称
     */
    @ApiModelProperty("标题名称")
    @TableField(value = "title")
    private String title;

    /**
     * 描述
     */
    @ApiModelProperty("描述")
    @TableField(value = "description")
    private String description;

    /**
     * 类型：1-链接 2-文章 3-图片 4-视频
     * 参照 ApplicationTypeEnum
     */
    @ApiModelProperty("类型：1-链接 2-文章 3-图片 4-视频")
    @TableField(value = "type")
    private Integer type;

    /**
     * 作者名称
     */
    @ApiModelProperty("作者名称")
    @TableField(value = "authorName")
    private String authorName;

    /**
     * 作者邮箱
     */
    @ApiModelProperty("作者邮箱")
    @TableField(value = "authorEmail")
    private String authorEmail;

    /**
     * 代码地址
     */
    @ApiModelProperty("代码地址")
    @TableField(value = "codeUrl")
    private String codeUrl;

    /**
     * 说明文档地址
     */
    @ApiModelProperty("说明文档地址")
    @TableField(value = "documentUrl")
    private String documentUrl;

    /**
     * 审批意见
     */
    @ApiModelProperty("审批意见")
    @TableField(value = "approveIdea")
    private String approveIdea;

    /**
     * 审批状态： 0--未审批 1--已审批 2--已拒绝
     * 参照ApproveStatusEnum
     */
    @ApiModelProperty("审批状态： 0--未审批 1--已审批 2--已拒绝")
    @TableField(value = "approveStatus")
    private Integer approveStatus;

    /**
     * 审批人用户名
     */
    @ApiModelProperty("审批人用户名")
    @TableField(value = "approveUserName")
    private String approveUserName;

    /**
     * 审批时间
     */
    @ApiModelProperty("审批时间")
    @TableField(value = "approveTime")
    private Date approveTime;

    /**
     * 是否删除
     */
    @ApiModelProperty("是否删除")
    @TableField(value = "isDelete")
    private Integer isDelete;
}